home *** CD-ROM | disk | FTP | other *** search
/ Clickx 115 / Clickx 115.iso / software / tools / windows / tails-i386-0.16.iso / live / filesystem.squashfs / usr / share / doc / libklibc / README.klibc < prev    next >
Encoding:
Text File  |  2012-06-28  |  2.5 KB  |  80 lines

  1. This is klibc, what is intended to be a minimalistic libc subset for
  2. use with initramfs.  It is deliberately written for small size,
  3. minimal entanglement, and portability, not speed.  It is definitely a
  4. work in progress, and a lot of things are still missing.
  5.  
  6.  
  7. The build procedure is not very polished yet, but it should work like
  8. this:
  9.  
  10. a) In the source root directory (the directory above the one in which
  11.    this file is found) create a symlink called "linux" pointing to the
  12.    target of "make headers_install" from a recent Linux kernel tree.
  13.    This can be done by extracting the Linux kernel into a directory,
  14.    running "make headers_install" for the appropriate architecture,
  15.    and then making a symlink to the "usr" subdirectory of that directory
  16.    tree.
  17.  
  18. b) If you're cross-compiling, you need to set KLIBCARCH to the
  19.    appropriate architecture, and set CROSS_COMPILE to your toolchain
  20.    prefix.
  21.  
  22.    IMPORTANT: if you're on a 64-bit machine with a 32-bit userland
  23.    (ia64, mips64, ppc64 sparc64, s390x or x86_64), and you want to
  24.    build the 32-bit version: you need to set KLIBCARCH to the 32-bit
  25.    architecture as well as set up the linux/include/asm symlink to
  26.    point to the 32-bit architecture.  Building the 32-bit architecture
  27.    usually (but not always) produces smaller binaries, and is likely
  28.    to be better tested.
  29.  
  30.    If you are on ARM, and want to build a thumb version of the library
  31.    (this is supported), change OPTFLAGS in arch/arm/MCONFIG to build
  32.    thumb code.
  33.  
  34.    The following is the last known status of various architectures:
  35.  
  36.    alpha:     Working
  37.    arm-thumb:     Untested
  38.    arm:         Working
  39.    arm26:     Not yet ported
  40.    avr32:     Not yet ported
  41.    cris:     Working
  42.    h8300:     Not yet ported
  43.    i386:     Working
  44.    ia64:     Working static, shared untested
  45.    m32r:     Untested
  46.    m68k:     Working
  47.    mips:     Working
  48.    mips64:     Not yet ported
  49.    parisc:     Untested
  50.    parisc64:     Not yet ported
  51.    ppc:         Working
  52.    ppc64:     Working
  53.    s390:     Working
  54.    s390x:     Working
  55.    sh:         Runtime breakage
  56.    sh64:     Not yet ported
  57.    sparc:     Working
  58.    sparc64:     Working
  59.    v850:     Not yet ported
  60.    x86-64:     Working
  61.    xtensa:     Not yet ported
  62.  
  63.    Shared library support requires recent binutils on many
  64.    architectures.
  65.  
  66.    Note that even the "working" ones likely have bugs.  Please report
  67.    them if you run into them.
  68.  
  69. c) Type "make" and pray...
  70.  
  71. d) Try the test programs in the tests/ directory.  They should run...
  72.  
  73. Contact the klibc mailing list:
  74.  
  75.     http://www.zytor.com/mailman/listinfo/klibc
  76.  
  77. ... for more info.
  78.  
  79.     -hpa
  80.